<template>
    <li>
        <label>
            <input type="checkbox" :checked="cars.done" @change="handleChange(cars.id)"/>
            <!-- 以下代码也能实现功能，但不推荐，修改了props -->
            <!-- <input type="checkbox" v-model="cars.done"/> -->
            <span>{{cars.title}}</span>
        </label>
        <button class="btn btn-danger" @click="handleDelete(cars.id)">删除</button>
    </li>
</template>

<script>
import emitter from '../eventBus'
    export default{
        name: 'Item',
        setup(){
          const handleChange = (id)=>{
              emitter.emit('changeCheck', id)
          }
          const handleDelete = (id)=>{
              emitter.emit('deleteTodo', id)
          }
          return{
            handleChange,
            handleDelete
          }
        },
        props:['cars','changeCheck','deleteTodo'],
        methods:{
          // handleChange(id){
          //   this.changeCheck(id)
          // },
          // handleDelete(id){
          //   this.deleteTodo(id)
          // }
        }
        
    }
</script>

<style scoped>
  /*item*/
  li {
    list-style: none;
    height: 36px;
    line-height: 36px;
    padding: 0 5px;
    border-bottom: 1px solid #ddd;
  }

  li label {
    float: left;
    cursor: pointer;
  }

  li label li input {
    vertical-align: middle;
    margin-right: 6px;
    position: relative;
    top: -1px;
  }

  li button {
    float: right;
    display: none;
    margin-top: 3px;
  }

  li:before {
    content: initial;
  }

  li:last-child {
    border-bottom: none;
  }
  li:hover{
    background-color: #ddd;
  }
  li:hover button{
    display: block;
  }
</style>